草庐IT

java - 在Java中获取运行文件名?

全部标签

ruby - 当通过 Rake 测试运行时,Minitest #setup 和 #teardown 不会被调用

我有一个MiniTest套件。我使用的是基本的Minitest::Unit::TestCase,而不是规范。我在我的TestCase子类中定义了setup和teardown方法。当我像这样运行测试文件时,它们可以完美运行:rubytest/whatever_test.rb。但是当我运行raketest时,setup和teardown没有被调用。我的Rakefile的相关部分是:require'rake/testtask'Rake::TestTask.newdo|t|t.test_files=FileList['test/*_test.rb']t.verbose=trueend为什么在使

ruby-on-rails - 获取 Rails 中 STI 类基类的路由

假设我有一个包含3个模型的Rails应用程序,Person、Place和Thing。SayThing使用单表继承,所以有FancyThing和ScaryThing子类。然后是用map.resources:people,:places,:things定义的路线。所以FancyThings和ScaryThings没有Controller,ThingsController处理这两种类型。现在假设我需要有代码来显示任何具有指向它们的链接的列表。如果我有这段代码:如果项目是一个人或一个地方,这很好用,polymorphic_path负责生成正确的路线。但是,如果item是FancyThing或S

ruby - 有没有办法在 Ruby 中获取所有变量?

有没有一种方法可以在Ruby中找到以特定字符串开头的所有变量?例如,我的ruby​​程序中有以下变量:ret_d=1ret_d2=23是否有返回["ret_d","re​​t_d2"]的函数?问题是我没有所有变量的集合。 最佳答案 Kernel#local_variables应该可以解决问题。>>ret_d=1=>1>>ret_d2=23=>23>>local_variables=>["_","ret_d","ret_d2"]>>local_variables.select{|v|v=~/^ret_/}=>["ret_d","ret

ruby - 我能否编写仅在我的脚本运行时执行但在需要时不执行的 Ruby 代码?

我想写一个像这样的Ruby脚本:classFoo#instancemethodsheredefself.runfoo=Foo.new#dostuffhereendend#Thiscodeshouldonlybeexecutedwhenrunasascript,butnotwhenrequiredintoanotherfileunlessrequired_in?#我希望能够对其进行单元测试,这就是为什么我不希望类外的代码运行,除非我直接执行脚本,即rubyfoo_it_up.rb。我知道我可以简单地将Foo类放在另一个文件中并在我的脚本中require'foo'。事实上,这可能是一种更好

ruby - 在 ruby​​ 中获取 attr_accessor/实例变量

所以我知道您可以通过调用#instance_variables获取Ruby中的所有实例变量,但如果它们尚未设置,则它们不会显示。示例classWalrusattr_accessor:flippers,:tusksendw=Walrus.neww.instance_variables#=>[]w.tusks#=>nilw.instance_variables#=>[:@tusks]我想立即访问attr_accessor定义的所有实例变量。w=Walrus.neww.instance_variables#=>[:@tusks,:@flippers] 最佳答案

ruby/regex 获取每个单词的第一个字母

我想把每个单词的第一个字母放在一起,使“我需要帮助”变成“Inh”。我当时想剪掉所有东西,然后从那里开始,或者立即抓取每个第一个字母。 最佳答案 您可以在这里简单地使用split、ma​​p和join。string='Ineedhelp'result=string.split.map(&:first).joinputsresult#=>"Inh" 关于ruby/regex获取每个单词的第一个字母,我们在StackOverflow上找到一个类似的问题: http

Ruby:如何确定正在读取的文件是二进制文件还是文本文件

我正在用Ruby编写一个程序,它将在目录中的文本文件中搜索字符串-类似于Grep。我不希望它尝试在二进制文件中搜索,但我无法在Ruby中找到确定文件是二进制文件还是文本文件的方法。该程序需要同时在Windows和Linux上运行。如果有人能指出我正确的方向,那就太好了。谢谢,黄原素 最佳答案 libmagic是一个检测文件类型的库。对于这个解决方案,我假设所有以text/开头的mimetype都代表文本文件。其他的都是二进制文件。这个假设并不适用于所有mime类型(例如application/x-latex、application/

ruby-on-rails - RVM 查找系统 gems 的可执行文件

我已经安装了RVM和ruby​​版本。但是,如果我启动控制台并运行命令railsserver、bundleinstall等。我会收到此错误bash:/usr/bin/rails:/usr/bin/ruby1.8:badinterpreter:Nosuchfileordirectory但如果我先运行rvmuse1.9.2,那么一切都正常。我尝试使用`rvmuse--default1.9.2'但没有任何改变。这是否意味着它使用的ruby与RVM中的ruby不同?提前致谢! 最佳答案 rubygemsbin文件夹和PATH的解释哦。你没有

ruby - RSpec 中的相对文件路径

我对/lib/classes中的一个类进行了RSpec测试,它需要访问一个zip文件(无上传)。该文件存储在/spec/fixtures/files/test.zip中。如何输入正确的路径以使其与环境无关,即没有绝对路径? 最佳答案 Rails.root将为您提供应用根目录,因此Rails.root.join"spec/fixtures/files/test.zip"将为您提供文件的绝对路径,与应用在硬盘上的位置无关。 关于ruby-RSpec中的相对文件路径,我们在StackOverf

Ruby - 如何使用 open-uri 获取文件的名称?

我想通过这种方式下载一个音乐文件:require'open-uri'source_url="http://soundcloud.com/stereo-foo/cohete-amigo/download"attachment_file="test.wav"open(attachment_file,"wb")do|file|file.printopen(source_url).readend在该示例中,我想将“Test.wav”更改为真实文件名(例如JDownloader程序)。编辑:我不是指临时文件,我指的是像Jdownloader一样在网络中存储的文件:“CoheteAmigo-Ste